home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD Charme 1
/
CD Charme 01.iso
/
mac
/
hybride
/
GLOWING
/
TITLE.MST
< prev
next >
Wrap
Text File
|
1994-12-09
|
12KB
|
392 lines
GLOBAL TitleShortName$
GLOBAL TitleLongName$
GLOBAL MVBFileName$
GLOBAL PromptForPath%
GLOBAL DefaultPath$
GLOBAL ProgManGroup$
GLOBAL ProgManItem$
TitleShortName$ = "GISample"
TitleLongName$ = "Glowing Icon Sampler"
MVBFileName$ = "GISample"
PromptForPath% = 0
DefaultPath$ = "C:\gisample"
ProgManGroup$ = "Glowing Icon"
ProgManItem$ = "Glowing Icon Sampler"
GLOBAL CUIDLL$
'' Include files
'$INCLUDE 'setupapi.inc'
'' Custom UI dll
CUIDLL$ = "mscuistf.dll"
'' Dialog ID's
CONST DESTPATH = 1000
CONST APPHELP = 2000
CONST TOOBIG = 3000
CONST BADPATH = 4000
CONST SUCCESS = 5000
'' Bitmap ID
CONST LOGO = 1
'' Functions and subroutines
DECLARE FUNCTION AddFont LIB "mscuistf.dll" (szFont$, szName$) AS INTEGER
DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
DECLARE FUNCTION GetTitleDir (szDefault$) AS STRING
DECLARE FUNCTION CopyFiles(szTitleDir$) AS INTEGER
DECLARE SUB RegisterFont(fontfile$, fontname$)
DECLARE SUB ModifyViewerIni
DECLARE SUB RegisterCustomFonts
DECLARE SUB ModifyProgramManager
DECLARE SUB ShowSuccess
DECLARE SUB RegisterDrivers
DECLARE SUB DoNoEvil
i% = SetSizeCheckMode(scmOff)
SetTitle "Glowing Icon's Sampler Setup"
SetBitmap CUIDLL$, LOGO
'' Read in the INF file.
DoNoEvil
ReadInfFile GetSymbolValue("STF_CWDDIR") + "TITLE.INF"
'' Decide where to put title files
IF PromptForPath% = 1 THEN
szTitleDir$ = GetTitleDir(DefaultPath$)
IF szTitleDir$ = "" THEN
GOTO QUIT
ENDIF
ELSE
szTitleDir$ = GetWindowsDir()
ENDIF
'' Copy files
IF CopyFiles(szTitleDir$) = 0 THEN
GOTO QUIT
ENDIF
ModifyViewerIni
ModifyProgramManager
ShowSuccess
j% = DoMsgBox("Be sure to Install Video for Windows 1.1, if you do not already have it!",TitleLongName$,0)
j% = DoMsgBox("If this is your first installation of Video for Windows, then Restart Windows before playing!",TitleLongName$,0)
QUIT:
END
'*************************************************************************
'** Purpose:
'** Prompts the user for a path for the title files
'** Arguments:
'** szDefault$ - default path
'** Returns:
'** New valid path name, or "" if the user quit.
'*************************************************************************
FUNCTION GetTitleDir (szDefault$) STATIC AS STRING
SetSymbolValue "String", TitleShortName$
SetSymbolValue "EditTextIn", szDefault$
SetSymbolValue "EditFocus", "ALL"
GETPATH:
sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, "FHelpDlgProc")
IF sz$ = "CONTINUE" THEN
szTitleDir$ = GetSymbolValue("EditTextOut")
IF IsDirWritable(szTitleDir$) = 0 THEN
BADPATH:
sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfoDlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO BADPATH
END IF
UIPop 1
GOTO GETPATH
END IF
UIPop 1
CreateDir szTitleDir$, cmoNone
ELSEIF sz$ = "REACTIVATE" THEN
GOTO GETPATH
ELSE
szTitleDir$ = ""
END IF
GetTitleDir = szTitleDir$
END FUNCTION
'*************************************************************************
'** Purpose:
'** Copies the files in the INF file
'** Arguments:
'** szTitleDir$ - destination directory for the title files
'** Returns
'** 1 if files were copied, 0 otherwise
'*************************************************************************
FUNCTION CopyFiles(szTitleDir$) STATIC AS INTEGER
'' Add all system files to the copy list
AddSectionFilesToCopyList "System Files", GetSymbolValue("STF_SRCDIR"), GetWindowsSysDir()
'' Add all of the title files to the copy list
AddSectionFilesToCopyList "Installed Title Files", GetSymbolValue("STF_SRCDIR"), szTitleDir$
'' Check size
szExtras$ = "Extra"
szCosts$ = "Costs"
szNeededs$ = "Neededs"
FOR i% = 1 TO 26 STEP 1
AddListItem szExtras$, "0"
NEXT i%
'' We assume that VIEWER.INI will take another 4K
ReplaceListItem szExtras$, ASC(MID$(GetWindowsDir(), 1, 1)) - ASC("A") + 1, STR$(4096)
'' Get amount of space required
StillNeed& = GetCopyListCost(szExtras$, szCosts$, szNeededs$)
'' Put up a message if there is not enough space
FOR i% = 1 TO 26 STEP 1
IF VAL(GetListItem(szNeededs$, i%)) > 0 THEN
SetSymbolValue "String1", LTRIM$(STR$(VAL(GetListItem(szCosts$, i%)) / 1024))
SetSymbolValue "String2", CHR$(i% - 1 + ASC("A"))
TOOBIG:
sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfoDlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO TOOBIG
END IF
UIPop 1
CopyFiles = 0
GOTO DONTCOPY
END IF
NEXT i%
'' Copy the files
CopyFilesInCopyList
CopyFiles = 1
DONTCOPY:
END FUNCTION
'*************************************************************************
'** Purpose:
'** Puts up a success dialog
'*************************************************************************
SUB ShowSuccess STATIC
SUCCESS:
SetSymbolValue "String1", TitleShortName$
sz$ = UIStartDlg(CUIDLL$, SUCCESS, "FInfoDlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO SUCCESS
END IF
UIPop 1
END SUB
'*************************************************************************
'** Purpose:
'** Assuage the User's fear of system destruction
'*************************************************************************
SUB DoNoEvil STATIC
j% = DoMsgBox("This installation will not harm your system!", TitleLongName$, 0)
END SUB
'*************************************************************************
'** Purpose:
'** Appends a file name to the end of a directory path,
'** inserting a backslash character as needed.
'** Arguments:
'** szDir$ - full directory path (with optional ending "\")
'** szFile$ - filename to append to directory
'** Returns:
'** Resulting fully qualified path name.
'*************************************************************************
FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
IF szDir$ = "" THEN
MakePath = szFile$
ELSEIF szFile$ = "" THEN
MakePath = szDir$
ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
MakePath = szDir$ + szFile$
ELSE
MakePath = szDir$ + "\" + szFile$
END IF
END FUNCTION
'*************************************************************************
'** Purpose:
'** Registers a font.
'** Arguments:
'** fontfile$ - font filename
'** fontname$ - font name.
'*************************************************************************
SUB RegisterFont(fontfile$, fontname$) STATIC
'' A simple error catching wrapper around AddFont, which is a 'C' routine in MSCUISTF.DLL
IF AddFont(fontfile$, fontname$) = -1 THEN
j% = DoMsgBox("Could not install " + fontfile$ + " font.", "Viewer Font Installation", 0)
ENDIF
END SUB
'*************************************************************************
'** Purpose:
'** Registers title in VIEWER.INI
'*************************************************************************
SUB ModifyViewerIni STATIC
'' Get the VIEWER.INI file
szIni$ = MakePath(GetWindowsDir(), "WIN.INI")
'' First register the title file, setting the Name and Path entries.
'' We assume that the MVB file is the same directory as SETUP.EXE.
''
'' CUSTOMIZATION: If you're installing multiple MVB files, copy the
'' following two statements for each additional file, substituting
'' the appropriate long name and MVB filename for the TitleLongName$
'' and MVBFileName$ variables.
CreateIniKeyValue szIni$, MVBFileName$, "Name", TitleLongName$, cmoOverwrite
CreateIniKeyValue szIni$, MVBFileName$, "Path", GetSymbolValue("STF_SRCDIR"), cmoOverwrite
END SUB
'*************************************************************************
'** Purpose:
'** Creates program manager entries for the title
'*************************************************************************
SUB ModifyProgramManager STATIC
'' Create the program manager group
szGork$ = GetSymbolValue("STF_SRCDIR")
'' j% = DoMsgBox(szGork$, "Path Name", 0)
CreateProgmanGroup ProgmanGroup$, "", cmoNone
ShowProgmanGroup ProgmanGroup$, 1, cmoNone
'' Create an entry for the title
'' [no icon] CreateProgmanItem ProgmanGroup$, ProgmanItem$, "mviewer2.exe " + MakePath(GetSymbolValue("STF_SRCDIR"), MVBFileName$ + ".MVB"), ",,,,szGork$", cmoOverwrite
'' CUSTOMIZATION:
''
'' To create additional Program Manager items, copy the preceding
'' statement for each additional item, substituting the appropriate
'' name for the MVBFileName$ variable.
''
'' To display a custom icon with the Program Manager item, specify
'' the icon filename with the fourth parameter (this parameter is
'' currently an empty string, ""). The following example specifies
'' an icon with the same filename as the .MVB file:
''
CreateProgmanItem ProgmanGroup$, ProgmanItem$, MakePath(GetSymbolValue("STF_SRCDIR"), "GISAMPLE.EXE"), MakePath(GetSymbolValue("STF_SRCDIR"), "GLOWICON.ICO")+",0,0,0,"+szGork$, cmoOverwrite
END SUB
'*************************************************************************
'** Purpose:
'** Registers custom fonts with Windows.
'*************************************************************************
SUB RegisterCustomFonts STATIC
'' CUSTOMIZATION: If you install custom fonts, then add statements
'' in this routine to register the fonts with the current Windows
'' session and to add them to the WIN.INI [Fonts] section.
''
'' Note that TrueType fonts can only be installed in Windows 3.1.
'' RegisterFont automatically creates the required .FOT file for
'' TrueType fonts.
''
'' The following example registers a font residing in MISTRAL.TTF
'' and installs the font with the name Mistral (True Type):
''
'' RegisterFont "mistral.ttf", "Mistral (TrueType)"
''
END SUB
'*************************************************************************
'** Purpose:
'** Registers Windows drivers
'*************************************************************************
SUB RegisterDrivers STATIC
'' CUSTOMIZATION: Video for Windows is not a standard component of
'' Windows 3.1. If your title uses video, proceed as follows.
''
'' 1) Add the following files to the [System Files] section of the INF file:
''
'' dispdib.dll
'' msvideo.dll
'' indeo.drv
'' mciavi.drv
'' msvidc.drv
''
'' 2) Add the above files to your release directory. US versions can be
'' found in the \SYSTEM subdirectory of your Viewer disc. French and
'' German versions were not available at ship time. Please contact
'' Microsoft or check the Multimedia Viewer section on the Microsoft
'' Compuserve Forum for further details.
''
'' 3) Uncomment the following lines:
''
'' CreateIniKeyValue "WIN.INI", "mci extensions", "AVI", "AVIVIDEO", cmoNone
'' CreateIniKeyValue MakePath(GetWindowsDir(), "SYSTEM.INI"), "mci", "AVIVIDEO", "MCIAVI.DRV", cmoNone
'' CreateIniKeyValue MakePath(GetWindowsDir(), "SYSTEM.INI"), "drivers", "vidc.msvc", "msvidc.drv", cmoNone
'' CreateIniKeyValue MakePath(GetWindowsDir(), "SYSTEM.INI"), "drivers", "vidc.rt21", "indeo.drv", cmoNone
'' CreateIniKeyValue MakePath(GetWindowsDir(), "SYSTEM.INI"), "drivers", "vidc.cvid", "iccvid.drv", cmoNone
END SUB